Method, system and related devices for operating multiple cranes in unison

ABSTRACT

A crane control system for controlling a plurality of cranes is provided. The crane control system in some embodiments includes a master controller unit, at least one computer readable memory for storing a plurality of tokens, each token from the plurality of tokens associated with a respective crane from the plurality of cranes, and a processing unit responsive to commands inputtable by an operator of the master controller unit to send the commands to individual cranes from the plurality of cranes, wherein the processing unit associates the commands with respective tokens to control the cranes associated with those tokens. The crane control system in some embodiments also includes a processing unit that is responsive to a signal indicative of a synchronization loss to issue a command to bring the plurality of cranes into a safe condition, such as an emergency stop, or a corrective action.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/303,708 filed Oct. 12, 2016, which published as US2017/0031339 onFeb. 2, 2017 and is issuing as U.S. Pat. No. 10,108,164 on Oct. 23,2018.

U.S. patent application Ser. No. 15/303,708 is a U.S. national stagefiling under 35 U.S.C. § 371 of International Application No.PCT/IB2015/053572 filed May 14, 2015, which published as WO 2015/173773on Nov. 19, 2015.

PCT International Application No. PCT/IB2015/053572 claims priority toU.S. Provisional Patent Application No. 61/994,468 filed May 16, 2014and U.S. Provisional Patent Application No. 62/109,936 filed Jan. 30,2015.

The disclosures of the applications identified in the above paragraphsare incorporated herein by reference in their entirety.

FIELD

The invention generally relates to a system for operating cranes, inparticular to a crane master controller unit and slave master controllerunit for operating multiple cranes in unison. The invention also relatesto a method for operating multiple cranes in unison.

BACKGROUND

Overhead cranes are commonly used in manufacturing and other industrialapplications. An overhead crane is installed on parallel runways usuallytied to a building structure. The crane has a bridge spanning across thegap of the runways, a trolley that traverses across the bridge and ahoist on the trolley that can move up or down and can lift objects.Overhead cranes, of this type, can be operated remotely using a mastercontroller unit to lift and displace heavy objects.

In some situations, it is desirable to use multiple cranes to lift anobject. For instance, when an object is too large to be lifted by asingle trolley and hoist, two or more trolleys or hoists may be used.For example, a single bridge can have two trolleys where each of thetrolleys has a single hoist, while in other cases the multiple cranesmay consist of two bridges each with a trolley and a hoist.

In general, the task of controlling multiple cranes is more challengingfor the operator than controlling a single crane. Therefore, there is aneed in the industry for providing a user friendly system and methodallowing to link the master controller unit of the operator torespective cranes, in a secure fashion to prevent inadvertentlyactuating a crane other than the one the operator intends to control.

SUMMARY

In accordance with a first aspect, the invention relates to a cranecontrol system for controlling a plurality of cranes, the crane controlsystem comprising a master controller unit; a computer readable storagefor storing a plurality of tokens, each token from the plurality oftokens associated with a respective crane from the plurality of cranes;and a processing unit responsive to commands inputtable by an operatorof the master controller unit to send the commands to individual cranesfrom the plurality of cranes, the processing unit being configured toassociate the commands with respective tokens to control the cranesassociated with the tokens.

In accordance with a second aspect, the invention relates to a cranecontrol system for controlling a plurality of cranes in synchronism, thecrane control system comprising: a master controller unit; a processingunit responsive to commands inputtable by an operator of the mastercontroller unit to send commands to the plurality of cranes to operatethe cranes in synchronism, the processing unit being responsive to asignal indicative of a loss of synchronization between the cranes tooutput a command to bring one or more of the plurality of cranes in asafe condition.

In accordance with a third aspect, the invention relates to a cranecontrol system for controlling cranes, the crane control systemcomprising: a master controller unit, including a user interface forreceiving user commands to control cranes, the user interface includinga mode selector allowing the user to select a mode of operation among aplurality of modes of operation, the plurality of modes of operationincluding a first mode of operation and a second mode of operation; (i)when the mode selector is in the first mode of operation the mastercontroller unit being configured to respond to user commands input atthe user interface to output first command signals directed to a singlecrane; (ii) when the mode selector is in the second mode of operationthe master controller unit being configured to respond to user commandsinput at the user interface to output second command signals directed totwo or more cranes, each crane of the two or more cranes having at leasttwo motion axes, the second command signals directing at least onemotion axis of one crane to operate in unison with at least one motionaxis on another crane.

In accordance with a fourth aspect, the invention relates to a cranecontrol system for controlling cranes, the crane control systemcomprising: a master controller unit, including a user interface forreceiving user commands to control cranes, the master controller unitbeing configured to respond to user commands input at the user interfaceto output command signals directed to two or more cranes, each crane ofthe two or more cranes having at least two motion axes, the commandsignals directing at least one motion axis of one crane to operate inunison with at least one motion axis on another crane; the userinterface including a position selection mechanism configured to allowthe user to select a position among a plurality of positions; inresponse to selection of a position among the plurality of positions themaster controller unit outputting command signals directed to the two ormore cranes to direct the cranes to move to the selected position.

In accordance with a fifth aspect, the invention provides a cranesystem, comprising a first crane, a second crane, a control system forcontrolling the first and second cranes in synchronism and a monitoringsystem for monitoring the first and second cranes for a loss ofsynchronization there between.

These and other aspects of the invention will now become apparent tothose of ordinary skill in the art upon review of the followingdescription of embodiments of the invention in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

A detailed description of embodiments of the invention is providedbelow, by way of example only, with reference to the accompanyingdrawings, in which:

FIG. 1 is a perspective view of a crane controller system in accordancewith a specific example of implementation of the invention.

FIG. 2 is a block diagram of a master controller unit used in the systemshown in FIG. 1.

FIG. 3 is a perspective view of the control panel of the mastercontroller unit, according to a first example of implementation of theinvention.

FIG. 4 is a block diagram of a slave crane control unit used in thesystem shown in FIG. 1.

FIG. 5 is a block diagram of a communication organizational structure,illustrating various components of the system of FIG. 1, communicatingwith each other to convey commands issued by the master controller unitfor implementation by multiple cranes.

FIG. 6 is a block diagram of the communication organizational structure,according to a variant.

FIG. 7 is a perspective view of the control panel of the mastercontroller unit, according to a variant.

FIG. 8 is a block diagram of the communication organizational structureaccording to yet another variant.

FIG. 9 is a perspective view of a variant of the crane controllersystem.

FIGS. 10A, 10B, 10C and 10D are illustrations of the structure of datastorage units in a first master controller unit, a second mastercontroller unit and a centralized controller in accordance with aspecific example of implementation of the invention.

FIG. 11 is a flowchart of a process for controlling cranes.

FIG. 12 is a flowchart of a process for determining if a crane isstanding by and available for service or is already in use.

FIG. 13 is a perspective view of yet another variant of the cranecontroller system.

FIG. 14 is a flowchart of a process for setting a mode of operation ofthe master controller unit.

FIG. 15 is a flowchart of a process for maneuvering multiple cranes inan automatic positioning mode.

FIG. 16 is a flowchart of a process implemented by a monitoring systemfor detecting a synchronization loss between cranes.

FIG. 17 is a perspective view of a crane control system using a mastercontroller unit, which is hardwired.

It is to be expressly understood that the description and drawings areonly for the purpose of illustrating certain embodiments of theinvention and are an aid for understanding. They are not intended to bea definition of the limits of the invention.

DETAILED DESCRIPTION

FIG. 1 shows a crane control system 100 for controlling a plurality ofcranes 101. In this example, the crane control system 100 includes amaster controller unit 200, which is operable by a user or operator 102to control the plurality of cranes 101. FIG. 1 illustrates two overheadcranes 101 ₁ and 101 ₂ that are bottom running on single girder bridges103 ₁ and 103 ₂, respectively. The bridges 103 ₁ and 103 ₂ span across agap of the two parallel runways 104 and the bridges 103 ₁ and 103 ₂ aremovable along the two parallel runways 104. Also, as illustrated,trolleys 105 ₁ and 105 ₂ are traversable across the bridges 103 ₁ and103 ₂, respectively. Each trolley 105 ₁ and 105 ₂ includes a hoist 106 ₁and 106 ₂, respectively, that can move up or down. Each crane 101 ₁ and101 ₂ also has a slave crane control unit 400 ₁ and 400 ₂, respectively,for receiving commands from the master controller unit 200 to controlthe movement of the crane (i.e., the movement of the bridge, trolley andhoist).

Other overhead crane configurations are possible. For example, theinvention may be implemented on cranes having bridges with a single ordouble girder or having trolleys that are top running instead of beingbottom running along the bridge. In other cases, the cranes may beprovided with multiple trolleys and hoists per bridge.

Although not illustrated in FIG. 1, the crane control system 100includes at least one computer readable data storage unit for storing aplurality of tokens, each token being associated with a respectivecrane. Furthermore, although not illustrated in FIG. 1, the cranecontrol system 100 also includes a data processing unit that isresponsive to commands input by the operator 102 of the mastercontroller unit 200 for composing command data strings and sending thecommand data strings to individual cranes 101 ₁ and 101 ₂, wherein thedata processing unit associates the commands with the respective tokensto control the cranes associated with those tokens. The computerreadable data storage unit and the data processing unit will bediscussed in more detail in the example implementations below.

Various implementations of the crane control system 100 will now bediscussed by way of the following examples. For ease of reference, indiscussing the various implementations of the crane control system 100,a “prime” (′) indicator is included on previously introduced referencecharacters to indicate a variant of the previously introduced element orembodiment.

Master Controller Unit

FIG. 2 is a block diagram of a specific non-limiting example of a mastercontroller unit 200. The master controller unit 200 is used forcontrolling a plurality of cranes 101. As shown, the master controllerunit 200 includes a communication interface 202. The communicationinterface 202 is configured to communicate (e.g., send commands) with aplurality of cranes 101. The communication interface 202 may communicatewith a plurality of cranes 101 by communicating with a plurality ofslave crane control units 400, where each slave crane control unit 400controls a respective crane (e.g., moves the bridge, hoist, and/ortrolley) from the plurality of cranes 101 based on commands that itreceives.

The master controller unit 200 includes at least one computer readabledata storage unit 204 for storing a plurality of tokens, where eachtoken is associated with a respective crane 101. The tokens may beidentifiers, such as addresses to identify uniquely each crane from theplurality of cranes 101. The computer readable data storage unit 204 maytake various forms. For example, the computer readable data storage unit204 may take the form of one or more programmed keys, chips, memorycards or any other suitable means (hereinafter referred to as “keys”),which are insertable into the master controller unit 200. FIG. 3illustrates an example of the master controller unit 200′, where themaster controller unit 200′ is portable. Each key from the plurality ofkeys 301 ₁, 301 ₂, 301 ₃ and 301 ₄ is insertable into a respective slotfrom a plurality of slots 302 ₁, 302 ₂, 302 ₃ and 302 ₄ of the mastercontroller unit 200′. The housing of the master controller unit 200′ hasa series of slots 302 ₁, 302 ₂, 302 ₃ and 302 ₄ that can mechanicallyengage the keys 301 ₁, 301 ₂, 301 ₃ and 301 ₄. The slots 302 ₁, 302 ₂,302 ₃ and 302 ₄ have electric terminals that mate with electricterminals of the keys 301 ₁, 301 ₂, 301 ₃ and 301 ₄ such that thecontent of the keys can be read. Although FIG. 3 illustrates four keysand four slots, it is appreciated that the number of keys and number ofslots need not be limited to four, and may be more or may be less thanfour.

Each of the keys is encoded with a respective crane's token (e.g., theaddress or identifier of the crane). FIG. 1 illustrates an example oftwo cranes 101 ₁ and 101 ₂ controlled by the operator 102 with aportable master controller unit. Although FIG. 1 illustrates the use ofthe master controller unit 200, for this example it is to be understoodthat the operator 102 is using the portable master controller unit 200′.In this example, two keys 301 ₁ and 301 ₂ are inserted into slots 302 ₁and 302 ₂, of the master controller unit 200′, respectively.Furthermore, in this example, each crane 101 ₁ and 101 ₂ has arespective slave crane control unit 400 ₁ and 400 ₂, respectively, forreceiving the commands from the control unit 200 and implementing thecommands, by moving the respective cranes. The key 301 ₁ is encoded witha token for the slave crane control unit 200 ₁ and the key 301 ₂ isencoded with a token for the slave crane control unit 200 ₂. Thisconfiguration allows the operator 102 to control the cranes 101 ₁ and101 ₂, either together or separately, which will be discussed in moredetail later on.

This arrangement allows a factory, which operates multiple overheadcranes to issue a single token for each crane. As such, the physicalinsertion of a key in the slot of a first master controller unit of afirst operator will preclude a second operator having a second mastercontroller unit to take control of the crane being used by the firstoperator. In other words, only the operator in physical possession ofthe key will be able to control the crane that matches that key and adifferent operator with a different master controller cannotaccidentally take control of the crane.

Referring back to FIG. 2, the master controller unit 200 also includes auser interface 201 for controlling the plurality of cranes. FIG. 3 showsa detailed example of implementation of the user interface 201. The userinterface includes different input controls, displays, and/or indicatorssuch as: one or more programmable buttons 310; a series of craneselection buttons 311; LED or other indicators 312; one or morejoysticks 313; an emergency stop button 314; and/or a display 315 (e.g.,LCD display). The one or more programmable buttons 310 may be programmedto control the functions of a plurality of cranes 101 or components ofthe cranes 101 (e.g., bridge, trolley, and/or hoist). The joysticks areused to control the movement of one or more cranes 101 or components ofcranes 101. The series of crane selection buttons 311 may be used toselect one or more cranes 101 that are to be maneuvered.

The display 315 may display information relating to the desiredmovements, the active crane selected from the plurality of cranes 101(during a single crane mode of operation), the desired mode of operation(single crane versus multiple cranes), and/or any other suitableinformation. The display may be designed to be touch-sensitive and torespond to finger pressure on the display surface. In this embodiment,the display is likely to be larger than the one shown in the drawings toprovide more display area on which the various icons or controls can bearranged for comfortable viewing and interaction by the operator.

Another possible option is to provide haptic control, which uses tactilefeedback to communicate information to the operator. The haptic controlcan be used to convey information such as possible failures of cranes(the joystick vibrates when a malfunction is detected), when the hoisthas reached a predetermined position indicating to the operator to stopthe movement, etc.

Continuing with the specific and non-limiting example discussed above,when the key 301 ₁ is encoded with a token for the control of crane 101₁ and the key 301 ₂ is encoded with a token for the control of crane 101₂, the operator may push button A on the master controller unit 200′ toselect crane 101 ₁ and/or may push button B to select crane 101 ₂. Inthis example, the LED indicators 311 light-up to indicate to theoperator 102 which crane or cranes are selected. In some embodiments,the user interface 201 also indicates (e.g., on the display 315) to theuser which of the keys are inserted and the identity of the cranescorresponding to the keys, such that the operator can confirm that theseare indeed the cranes to be controlled. The confirmation of which keysare inserted may be done by software running on the master controllerunit 200 continuously scanning the keys inserted into the slots 301 ₁,301 ₂, 301 ₃, 301 ₄. It will also be appreciated to the person skilledin the art that such a configuration will allow an operator to selectonly one crane or multiple cranes depending on the type of movement oroperation the operator 102 desires to do.

As illustrated in FIG. 2, the master controller unit 200 includes aprocessing unit 203. The processing unit 203 is responsive to commandsinput by the operator 102, such that the commands are then sent toindividual cranes from the plurality of cranes. The operator 102 of themaster controller unit 200 enters commands via the user interface 201.The data processing unit 203 associates the commands with respectivetokens to control the cranes associated with those tokens. The commandsmay be directed to a specific crane or may be directed to multiplecranes, depending on the mode of operation of the master controller unit200. For instance, the operator 102 may have selected a single cranebased on the key inserted in to the controller 200′ and the processingunit will generate commands to the single crane. In other cases, theoperator 102 may have selected multiple cranes based on the keysinserted into the controller 200′ and the processing unit 203 willgenerate multiple commands to the multiple cranes.

The functionality of the processing unit 203 is software based.Specifically, the processing unit has a CPU that executes softwareresiding on a machine-readable storage medium. The machine-readablestorage medium may be part of the processing unit 203 and dedicated tothe processing unit 203 or be a segment of a machine-readable storagedevice that provides data storage functions for the entire mastercontroller unit 200.

The software controlling the operation of the processing unit 203continuously scans the user interface 202 to detect user inputs. On thebasis of the user inputs, the processing unit 203 will build a commanddata block that is sent to a single crane or replicated and sent tomultiple cranes, depending on the mode of operation. In a specificexample, when the operator depresses a joystick to direct the hoist of acrane to move down, the processing unit 203 will sense the joystickoperation and determine that a hoist down move is being commanded. Theprocessing unit 203 will then build a command data block to be sent tothe crane such that the crane can execute the command. The command datablock includes several components namely a command segment, which is astring of bits encoding the desired command. It will be understood thatthe string of bits will change depending on the actual movement beingrequested. The command data block also includes an address segment,which uniquely identifies the crane to which the command data block isbeing directed. The command data block may also include other segmentsto ensure a reliable communication, such as codes for error detectionand/or error correction.

Optionally, the command data block includes a sender address segment toidentify the address of the master controller unit 200 sending thecommand. The address distinguishes the master controller 200 from othermaster controllers that are active in the factory. In this fashion, ifthe crane or set of cranes being operated need to report something backto the master controller unit 200, the report will be sent to thecorrect address. An example of information that can be reported is cranealerts or malfunctions.

When the operator 102 selects crane 101 ₁ (as the key 301 ₁ for crane101 ₁ is inserted into the controller 200′) and input commands via theuser interface 201, the data processing unit 203 then processes theinputted command to generate a command data block. The processing unit203 places the token derived from the key 301 ₁ into the address segmentof the command data block such that only the crane 101 ₁, among theother cranes in the factory will accept the command. In other cases,where the operator 102 wants to control multiple cranes in synchronism,say crane 101 ₁ and crane 101 ₂ (as key 301 ₁ for crane 101 ₁ and key301 ₂ for crane 101 ₂ is inserted into the controller 200′) and inputcommands via the user interface 201, the data processing unit 203 willcreate two command data blocks, having identical command segments butdifferent address segments, one address identifying crane 101 ₁ and theother identifying the crane 101 ₂.

Slave Crane Control Unit

FIG. 4 illustrates an example of a slave crane control unit 400 _(i)from a plurality of slave crane control units 400. The slave cranecontrol unit 400 _(i) includes control circuitry 401 for controlling themovement of the crane (e.g., movement of the bridge, trolley, and/orhoist); a communication interface 402 for receiving the communicationsdirectly or indirectly from the master controller unit 200; a processingunit 403 for processing the received commands from the master controllerunit 200, among other things; and an identifier module 404, for which atoken, that has been obtained by the master controller unit 200,corresponds to.

The control circuitry includes the drives that operate the differentmotion axes to implement the commands sent by the master controller unit200. The control circuitry can be based on servo drives to allow preciseand repeatable positioning of the independently moveable cranecomponents, such as the bridge, trolley and hoist. The servo drivesoperate on the basis of real-time position feedback information outputby encoders that respond to actual component motion. Alternatively, thedrives can be based on stepper motors, which may or may not usereal-time position feedback information.

The identifier module 404 may be implemented in hardware or software(e.g., stored in computer readable memory). The identifier module 404may be a simple dipswitch that can be set to a specific identifier code.In other examples, the identifier module 404 may be computer readablememory for storing an address, such as a network address (e.g., internetprotocol (IP) addresses or media access control address (MAC) address)of the slave crane control unit 400 _(i).

The processing unit 403 manages the operation of the slave crane controlunit 400 _(i). As in the case of the processing unit 203, the processingunit 403 is software based and it provides a certain number of lowerlevel functions to manage the crane movements. Examples of thosefunctions are provided below.

Generation of motion instructions to the control circuitry 401. Theprocessing unit 403 receives the command data block from the mastercontroller unit 200 and assuming that authentication has been successful(more on that later), it will convert the command segment into motioninstructions directed to the specific motion axes. The processing unit403 can also process higher level commands, such as constant speedcommands. A constant speed command simply conveys a directive to thecrane to move at a constant speed, instead of a simple forward or abackward movement in a certain direction. In the latter case, asignificant degree of operator involvement and monitoring is required toensure that the crane moves as desired since the operator needs toconstantly operate the controls back and forth to achieve the desiredrate of displacement. In contrast, a constant speed command is an easierand safer mode of operation because the operator specifies a speed to beenforced and the crane moves at that speed, until another command isreceived, such as a stop command or a command to change the set speed,either to accelerate or to slow down. In the case of a constant speedcommand, the processing unit 403 will operate the motion axis(es) asrequired in order to maintain the speed of motion as close as possibleto the commanded speed.

Fault detection—monitors operational parameters of the crane todetermine if a fault is occurring.

Status reporting to the master controller unit 200. The processing unit403 collects operational information from the crane and structures itsuch that it can be sent to the master controller unit 200. For example,the processing unit 403 can collect information on the speed at whichthe crane travels and build a reporting data block in which thisinformation is inserted and sent, via the communication interface 402 tothe master controller unit 200. Also, if malfunctions are detected, theprocessing unit 403 builds a reporting data block and sends it to themaster controller unit 200.

Communication Between the Master Controller Unit & Cranes

In general, the type of slave crane control units 400 and/or the type oftokens used may dictate how the master controller unit 200 communicateswith the plurality of slave crane control units 400. FIG. 5 illustratesan example of how the master controller unit 200 communicates with theplurality of slave crane control units 400 by sending a command directlyto the one or more of the plurality of slave crane control units 400.The configuration illustrated in FIG. 5 may be suitable wheredipswitches are used in the slave crane control units 400 or where thetoken corresponds to an address, which is a non-networked address. Inother embodiments, as illustrated in FIG. 6, the master controller unit200′ communicates with the plurality of slave crane control units 400′indirectly by sending a command that is routed through a router 600.

The configuration of FIG. 6 may be suitable where the token correspondsto a network address (e.g., the crane control system 100′ is networkbased). In general, techniques for sending wireless signals (e.g., RF,IR (infrared), etc.) are within the knowledge of the person skilled, andthe communication of the master controller unit 200 with the pluralityof slave crane control units 400 should not be limited to embodimentsillustrated in FIGS. 5 and 6.

Regardless of how a command is communicated (e.g., directly orindirectly) from the communication interface 202 of the mastercontroller unit 200 to the communication interfaces 402 of the pluralityof slave crane control units 400, the command is sent to the pluralityof cranes 101 for movement of the cranes 101 (e.g., movement of thebridge, trolley, and/or hoist). As indicated previously, when a commandis sent from the master controller unit 200, the command includes anidentifier (e.g., address, network address, or any other suitableidentifier) of the master controller unit 200 sending the command andthe token corresponding to the crane that the master controller unit 200wishes to control or move, along with the command that indicates themovement of the crane. In some embodiments, the communication interface202 of the controller 200 acts as transmitter and the communicationinterfaces 402 of the slave crane control units 400 act as a receiver.In other embodiments, the communication interface 202 of the mastercontroller unit 200 and the communication interfaces 402 of the slavecrane control units 400 both have transmission and receptioncapabilities (e.g., they are both transceivers (i.e., receivers andtransmitters)). In certain embodiments, the slave crane control units400 can send communications back to the master controller unit 200. Forexample, acknowledgements of commands may be sent from the slave cranecontrol units 400 to the master controller unit 200. The acknowledgementsignal may include the identifier of the master controller unit 200 andthe identifier or token of the slave crane control unit 400.Furthermore, in some embodiments, the feedback of information from theslave crane control units 400 to the master controller unit 200 caninclude information relating to the movement of the cranes (e.g.,movement of the bridge, hoist, and/or trolley), information regardingthe synchronization of the movement of multiple cranes, loss ofsynchronization and/or any other suitable information.

Other Embodiments of the Master Controller Unit

Referring back to FIG. 2, and as previously discuss, the mastercontroller unit 200 includes at least one computer readable memory 204which may take various forms. In alternative embodiments, the at leastone computer readable memory is non-removable memory 204′ (i.e., it isnot an easily removable memory card or key). FIG. 7 illustrates anexample of a master controller unit 200″ where non-removable memory 204′is used. In this example, the memory 204′ stores the token after it hasbeen procured. The token for a specific crane may be obtained by theoperator 102 by walking within a proximity to a specific crane that theoperator wants to control and by pushing a button indicating theoperator wishes to take control of this crane with the master controllerunit 200″. For example, IR sensors may be provided on hoists 106 ₁ 106₂, such that when the master controller unit 200″ is placed within acertain proximity of a hoist, the master controller unit 200″ is able totake control of the crane that drives that hoist. In a specific andnon-limiting example, if the operator 102 wants to obtain the token forcrane 101 ₁ the operator 102 may walk up to the hoist 106 ₁ of the crane101 ₁ and pushes a button on user interface 201 of the master controllerunit 200″ to obtain the token for crane 101 ₁. In this example, themaster controller 200″ has an IR transceiver which can communicate withthe IR transceiver on the hoist. When both are within communicationrange, they perform an address exchange operation. The address exchangeoperation is a two way data exchange. During a first step, the cranesends its unique address to the master controller 200″ and during thesecond step the master controller 200″ sends its own unique address tothe crane. Each entity, the crane and the master controller 200″ willassemble a compound address which is a combination of its own addressand the address of the other entity. Assuming each crane in the factoryand each master controller are assigned unique addresses, the compoundaddress will uniquely designate the pair of entities. The compoundaddress is used to tag all communications between the crane and themaster controller unit such that only the crane that has been “married”via the IR link with the master controller unit 200″ will accept thecommands with that tag. Similarly, only the master controller unit 200″“married” to the crane will accept data communications from that crane.

By using an IR communication between the crane and the master controllerunit 200″ to perform the address exchange, the operator must physicallywalk to the crane that he or she wants to control, reducing thepossibility of selecting and remotely operating the wrong crane. Nearfield communication mechanisms other than IR can be used, such as RFIDinterrogation.

In other embodiments, the operator may take control of a specific craneby sending a command from the master controller unit 200″ to a specificslave crane control unit from the plurality of slave crane control unit400″ to obtain the token, and the slave crane control unit sends thetoken back if it is not in use by a different master controller unit. Ina specific and non-limiting example, if the operator 102 wants to obtainthe token for crane 101 ₁ the operator 102 may push a button on userinterface 201 of the master controller unit 200″ to indicate the desireto obtain the token for crane 101 ₁. For example, the operator 102 mayview through the display 315 of the user interface 201 of mastercontroller unit 200″ all cranes in the plant and then select crane 101₁. Continuing with this specific example, if the token for crane 101 ₁is available (i.e., not in use by a different master controller unit)the token is then communicated from the slave crane control unit 400 ₁″to the master controller unit 200″. On the other hand, if the token forcrane 101 ₁ is not available (i.e., in use by a different mastercontroller unit) the token is not communicated from the slave cranecontrol unit 400 ₁″ to the master controller unit 200″ and a message maybe communicated from the slave crane control unit 400 ₁″ to mastercontroller unit 200″ that the token is not available and specify whichmaster controller unit is currently using the token.

To obtain a token, a token exchange protocol is performed. Assuming thetoken is free to be taken, the protocol starts with an inquiry as toavailability and if available, the token is sent to the mastercontroller 200″. When the token is sent the crane changes its statusfrom “available” to “non-available” to prevent any other mastercontroller unit 200″ to take control of that crane. Similar to theaddress exchange process described earlier, the crane may store theaddress of the master controller unit 200″ to build a compound addressthat uniquely identifies the crane/master controller unit 200″ pair.

When the crane is no longer required, the master controller unit 200″releases the token. Without such explicit token release operation, thecrane will remain linked to the master controller 200″. The tokenrelease occurs when the operator sends an explicit “release” command tothe crane. When the crane receives the “release” command, it sends anacknowledgement to the master controller unit 200″ to confirm receptionof the “release” command such as to notify the operator that a “release”operation is occurring. The crane then initializes the address/tokenbuffers to purge the address of the master controller unit 200″ andacquires an “available” state. In the “available” state another mastercontroller 200″ can take control of the crane.

FIG. 8 illustrates an embodiment in which a centralized controller 800is used to perform the wireless linkage crane/master controller unit200″. The centralized controller 800 stores all of the tokens for thecranes 101. Furthermore, in embodiments where a centralized controller800 is used, commands may be sent to the centralized controller 800 fromthe master controller unit 200″ which then relays the commands to theplurality of slave crane control units 400″ that are controlledsimultaneously or to the single slave crane control unit 400″, dependingon the mode of operation of the master controller unit 200″. Thecentralized controller 800 only relays the commands to the plurality ofslave crane control units 400″ if the command comes from a mastercontroller unit that has the authority for the plurality of slave cranecontrol units 400″ that the master controller unit 200″ is sendingcommands to. The functions and structure of the centralized controller800 are discussed in more detail below.

The centralized controller 800 includes at least one computer readablestorage device for storing the plurality of tokens, each token beingassociated with a respective crane from the plurality of cranes 100. Thecentralized controller 800 may also manage which master controller units200 are able to operate which cranes 101 in a factory, such that nocrane is operable by more than one control unit at any given time.

The centralized controller 800 links cranes with master controller units200″ by performing a linkage function with uses steps similar to thelinkage procedures described earlier. The linkage function is managedfully by the centralized controller 800 and no direct communicationbetween cranes and master controller units 200″ takes place.

In this arrangement, each master controller unit 200″ has a uniqueaddress and as mentioned earlier each crane has a unique token. When amaster controller unit 200″ wants to take control of a certain crane, itsends a control capture request to the centralized controller 800. Thecontrol capture request identifies the desired crane; if that crane isavailable for control the linkage procedure is initiated. Otherwise thelinkage procedure is rejected. The master controller unit 200″ isprovided on its user interface with a selection mechanism that allowsthe operator to designate the crane that he/she wants to control. Oneoption for the centralized controller 800 is to constantly broadcast thelist of cranes that are available, such that only those that the mastercontroller unit 800 can actually acquire are listed. That list isdynamically updated as cranes are linked to master controller units 200″and released such that at any moment the operator of a master controller200″ will see only the cranes that are available.

Once a control capture request is received by the centralized controller800 the latter will store the address of the master controller unit 200″that is embedded in the request and will associate that address with thetoken of the crane to be controlled. The status of the crane is thenchanged from “available” to “not-available” and when the broadcastedlist of available cranes is refreshed, the just acquired crane will nolonger be on the list.

Commands issued to maneuver the crane from the master controller unit200″ are received by the centralized controller 800 which, on the basisof the association between the master controller unit 200″ address(which is embedded in the command) and the token of the crane stored inthe centralized controller 800, determines the identity of the crane towhich the command is to be relayed. The centralized controller 800 thenassembles a command data block by appending the command segmentidentifying the particular command the operator has input via the userinterface of the master controller unit 200″ to the address of thecrane. The command data block is then sent out to the crane forimplementation. Since the centralized controller 800 manages theassociation between the addresses of the master controller units 200″and the crane tokens, the possibility of mistakenly operating a craneother than the one intended to, is reduced significantly.

Whether the master controller 200″ is set to control a single crane or aset of cranes, the linkage procedure and the command dispatch is thesame. When multiple cranes are operated, the address of the mastercontroller 200″ is associated with the tokens of the respective cranes.When a command is issued by the master controller 200″, that command isrelayed to all the cranes associated with the master controller 200″address embedded in the received command.

Based on the discussion above, it will be appreciated that thecentralized controller 800 performs two different functions. The firstfunction is a token repository that manages the tokens and releasesavailable tokens for linkage with master controller units. The secondfunction is to act as a command relay to the cranes 101. That is, in thesecond mode of operation all commands from the master controller units200″ are communicated to the centralized controller 800 which thenforwards the commands to one or more of the slave crane control units400″ of the cranes 101, if the master controller unit is authorized tocontrol the one or more specified cranes.

The centralized controller 800 may include a processing unit (notillustrated), which executes software that enables the functionality ofthe centralized controller 800.

FIGS. 9-12 illustrate specific examples of the process for assigningtokens performed by the centralized controller 800. The embodiment shownin FIG. 9 illustrates a control option that makes it possible for twooperators 102 ₁ 102 ₂ to control, in sequence a single crane or multiplecranes 101 for moving an object 910. When heavy and large objects arebeing lifted, a single operator may not be able to have a complete viewof the object that is being lifted and moved. This may create a safetyhazard as the operator is maneuvering an object without having a visualcontact with all the furthest points of the object. To alleviate thisdrawback, the system is designed to allow two or more operators toalternatively take control the cranes. In this situation, the operatorswould likely be located at a distance from each other, close todifferent ends of the object such as to be able to observe the motion ofthe object. At any given moment, only one of the operators has control,with the exception of a limited set of commands that are alwaysavailable to both (or more) operators. When an operator wants toactively control the set of cranes, the control authority is transferredto that operator. When another operator needs to take control, thecontrol authority is passed to that operator and it is taken away fromthe previous operator, however all the operators can send commandsrelating to emergency situations, such as an emergency stop.

More specifically, in this example, the crane control system 100″ isoperated by a first operator 102 ₁ having a master controller unit 200₁″ and a second operator 102 ₂ having a master controller unit 200 ₂″where a centralized controller 800 is used as a token repository and asa command relay to the cranes 101. With reference to FIG. 10A, none ofthe master controller units 200 ₁″ 200 ₂″ is associated with any of thecranes, at time t=0. As illustrated, the memory 804 of the centralizedcontroller 800 stores the token for crane #1 (crane 101 ₁) as the IPaddress 192.168.0.101 and indicates that the status of crane #1 is thatit is available. Similarly, the memory 804 of the centralized controller800 also stores the token for crane #2 (crane 101 ₂) as the IP address192.168.0.102 and indicates that that this crane's status is alsoavailable. The centralized controller 800 also broadcasts to both of themaster controller units 200 ₁″ 200 ₂″ that crane #1 and crane #2 areavailable, which, in this example, the available cranes are stored inthe memory 204 ₁″ 204 ₂″.

Now with reference to FIG. 11, at step 1101, the first operator 102 ₁enters in commands to link his master controller unit 200 ₁″ with tokensfor cranes 101 ₁ and 101 ₂ via the user interface 201, by selecting thecranes that the operator desired to control from the list of availablecranes. In this example, as both cranes 101 ₁ and 101 ₂ are availablethe master controller unit 200 ₁″ selects both cranes 101 ₁ and 101 ₂and sends a request for these cranes to the centralized controller 800.More specifically, FIG. 12 shows the method 1200 that takes place in thecentralized controller 800 when a request for a crane is received. Inthis example, at step 1201, a request for a crane is received from themaster controller unit 200 ₁″ for both cranes 101 ₁ and 101 ₂. Then, atstep 1202, it is determined that both of the cranes 101 ₁ and 101 ₂specified in the request are available. As such, the next step is step120 and acknowledgement that both of the requested cranes 101 ₁ and 101₂ are now under control by the master controller unit 200 ₁″ istransmitted to the master controller unit 200 ₁″.

FIG. 10B illustrates the memory space of the centralized controller 800and the master controller units 200 ₁″ and 200 ₂″ at time t=1, where thecentralized controller 800 has linked both cranes #1 and #2 (101 ₁ and101 ₂) with the master controller unit 200 ₁″ and where the mastercontroller units 200 ₁″ has control of both cranes 101 ₁ and 101 ₂. Asillustrated in FIG. 10B, the memory 804 indicates that the status ofboth of the cranes #1 and #2 (101 ₁ and 101 ₂) as “non-available”.Furthermore, the memory 804 also indicates that master controller unit200 ₁″ is in control of crane #1 and crane #2 as the identifier, in theform of the IP address 192.168.0.1, of the master controller unit 200 ₁″is stored in the memory space 804. Now referring back to FIG. 11, atstep 1102, the master controller unit 200 ₁″ may then control both ofthe cranes 101 ₁ and 101 ₂ by communicating the commands in the form ofcommand data strings to the centralized controller 800.

Then at a later time, the second operator 102 ₂ having the mastercontroller unit 200 ₂″ may then want to obtain control of crane #2(crane 101 ₂). However, crane #2 is currently in control by the mastercontroller unit 200 ₁″ and its availability is not shown in the list ofavailable cranes. As such, the master controller unit 200 ₁″ should notbe able to request control of crane #2. In the event that the mastercontroller unit 200 ₂″ does send a request for crane #2 to thecentralized controller 800, the master controller unit 200 ₂″ will notbe able to obtain control of crane #2. According to the steps of themethod 1200, at step 1201 the request is received for crane 101 ₂ andthen at step 1202 it is determined that crane 101 ₂ is currently beingused by the master controller unit having the identifier 192.168.01(i.e., master controller unit 200 ₁″). As such, then at step 1204 thecentralized controller 800 transmits to the master controller unit 200₂″ that crane #2 (crane 101 ₂) is unavailable and in use by 192.168.01(master controller unit 200 ₁″).

At this stage, the operator 102 ₂ with the master controller unit 200 ₂″wants to obtain control of crane #2 (crane 101 ₂) and control of crane#2 can be done by two different ways. The first way that this can bedone is the operator 102 ₂ with the master controller unit 200 ₂″ canwait until the operator 102 ₁ with the master controller 200 ₁″ sends a“release” command to the centralized controller 800 that the mastercontroller 200 ₁″ no longer wants control of crane #2. At this stage,the centralized controller 800 removes the identifier (here the IPaddress 192.168.0.1) of the master controller 200 ₁″. For example FIG.10C illustrates the memory space at time t=2a showing that the mastercontroller 200 ₁″ no longer has control of crane #2 and that crane #2 isavailable to be obtained by a different master controller. At thisstage, the operator 102 ₂ with the master controller unit 200 ₂″ canthen make a request to obtain control of crane #2.

The second way that the operator 102 ₂ with the master controller unit200 ₂″ can obtain control of crane #2 (crane 101 ₂), is by a mechanicsof pitching the control authority. That is, the operator 102 ₁ with themaster controller unit 200 ₁″ does not need to send a “release” commandfor the release of crane #2, but can pitch controlling authority ofcrane #2 to the master controller unit 200 ₂″. As illustrated in FIG.10B, crane #2 is associated with the master controller unit 200 ₁″ andan identifier (i.e., the IP address 192.168.01.1) is stored inassociation with the token for crane #2. This association identifiesthat master controller unit 200 ₁″ has control authority. Thisassociation can be transferred from one master controller to another bysending a “transfer” command from the master controller that currentlyholds the control authority to the centralized controller 800. Forexample, the operator 102 ₁ with the master controller unit 200 ₁″ cansend a “transfer” command to the centralized controller that it wantsthe master controller 200 ₂″ to take control of crane #2. The effect ofthe “transfer” command is that master controller 200 ₁″ is relinquishedthe control authority. At this point the master controller unit 200 ₂″receives acknowledgement of control of crane #2 is available. Thenmaster controller unit 200 ₂″ can send to the centralized controller 800a control authority “acceptance” command, and at this point the mastercontroller 200 ₂″ would then be associated with crane #2 and can controlcrane #2. FIG. 10D illustrates the memory space of the centralizedcontroller 800 and the master controller units 200 ₁″ and 200 ₂″ at timet=2b. As illustrated, the master controller unit 200 ₁″ has control ofcrane #1 (crane 101 ₁) as controller identifier (192.168.0.1) of mastercontroller unit 200 ₁″ is stored in association with crane #1 and thetoken (192.168.0.101) of crane #1. Similarly, as illustrated, the mastercontroller units 200 ₂″ has control of crane #2 (crane 101 ₂) ascontroller identifier (192.168.0.2) of master controller unit 200 ₂″ isstored in association with crane #2 and the token (192.168.0.102) ofcrane #2. As such, at this point in time in this example, the firstoperator 102 ₁ having the master controller unit 200 ₁″ can controlcrane #1 (crane 101 ₁) and the second operator 102 ₂ having the mastercontroller unit 200 ₂″ can control crane #2 (crane 101 ₂). Although, thefirst operator 102 ₁ having the master controller unit 200 ₁″ cancontrol crane #1 (crane 101 ₁) and the second operator 102 ₂ having themaster controller unit 200 ₂″ can control crane #2 (crane 101 ₂),control commands are sent to cranes only if two conditions are met (1)the command must be from a master controller linked to the tokens and(2) the command must be from a master controller that holds commandauthority. There is, however, a subset of commands, such as an emergencystop command, which is implemented from any master controller unit,irrespective of who holds the control authority, as long as the mastercontroller unit has been associated with the tokens.

It will be appreciated that although this example illustrates the tokensas IP addresses other types of tokens, such as identifiers or numbersmay be used (e.g., a Boolean flag, a random generated number, etc.).

Similarly, it will be appreciated that although this example indicatesthe identifies of the master controllers stored in the memory of thecentralized controller 800 as IP addresses, it could be possible for thecentralized controller to have a list of all possible master controllersand set a flag in association with each master controller when themaster controller obtains control. For example, the centralizedcontroller 800 could store a table where each row corresponds to acrane's token and each column corresponds to each master controller'sidentifier or address and when a specific master controller take controlof a specific crane the intersecting column and row would be set with aflag (such as a Boolean flag).

A variant of the configuration discussed above includes the centralizedcontroller 800 operating in the same manner as discussed above, butadditional sending the tokens to master controller unit 200 ₁″ or 200 ₂″where master controller unit 200 ₁″ or 200 ₂″ takes control of a crane.

In other variants, the master controller units 200 ₁″ 200 ₂″ could storethe IP addresses for all of the cranes and the centralized controller800 could send tokens in the form of indicators such as Boolean flags orrandom generated numbers which are stored in the memory 204 ₁″ or 204 ₂″(of the master controller units 200 ₁″ 200 ₂″) in association with thecorresponding IP address. In the case where the token is a randomgenerated number, the master controller unit 200 ₁″ or 200 ₂″ could thensend the random generated number in communications including the controlcommands, as a form of authentication.

In other embodiments, it may be possible to use the centralizedcontroller 800 with a plurality of keys 301 at the master controllerunit 200′. In these specific embodiments, the centralized controller 800act as an access point which authenticates the tokens stored on the keys301 inserted into the slots 302 of the controller 200′ before sendingcommands to the cranes 101.

Furthermore, it will be appreciated by the person skilled in the artthat the use of a centralized controller 800 may be suitable it caseswhere it is desirable for the receiver or slave crane control unit ofexisting cranes to not be replaced.

Modes of Operation

Based on the embodiments discuss above, it will be appreciated by theperson skilled in the art that the crane control system 100 and itsvariants may be operated in different modes. The following are examplesof different modes of operation.

Synchronous and Independent Modes of Operation

FIG. 13 illustrates an embodiment of a crane control system 100″′, wherethe cranes 101 are controlled in either a synchronous or independentoperating mode. FIG. 13 is similar to that of FIG. 1 with the additionof a plurality of sensors 1301 ₁, 1302 ₁, 1303 ₁, 1301 ₂, 1302 ₂, and1303 ₂, which will be discussed in more detail later on. After theoperator 102 has obtained at the master controller unit 200 the tokensfor the cranes 101 that the operator 102 wishes to control (for thisexample, it is assumed that the operator 102 wishes to control bothcranes 101 ₁ and 101 ₂), the operator 102 can select between two modesof operation. The first mode of operation is where multiple cranes 101 ₁and 101 ₂ operate in a synchronous manner. The second mode of operationis when the cranes 101 ₁ and 101 ₂ operate individually.

FIG. 14 is a flow chart 1400 of the steps that take place depending onthe mode of operation that the operator 102 selects. At step 1401 theoperator sets the mode of operation. For example, the graphical userinterface 201 of the master controller unit 200 may allow for theoperator to toggle between the two modes of operation. In someembodiments, the toggling between the two modes of operation is aphysical switch, while in other embodiments the toggling is done bymaking a selection by use of the display 315 and input buttons 310 or311.

In the case that the operator selects the synchronous mode or the firstmode of operation (step 1402A), the cranes 101 operate in a synchronousmanner, which means that the cranes 101 move together. However, it willbe appreciated that all parts of the cranes 101 are not required to moveidentically to each other. For example, the position of the trolleys 105₁ 105 ₂ and the hoists 106 ₁ 106 ₂ may vary from crane to crane as theparts being moved by the multiple cranes 101 may be of varying sizes.Moreover, the bridges 103 ₁ 103 ₂, trolleys 105 ₁ 105 ₂ and hoists 106 ₁106 ₂ of different cranes 101 may move differently from each other whena part is being moved into a specific position. By way of an example, inthe synchronous mode, the operator may configure the bridges 103 ₁ 103 ₂of the cranes to move in a specific direction at a specific speed, whileallowing the trolleys 105 ₁ 105 ₂ and the hoists 106 ₁ 106 ₂ to benon-synchronous, such that the operator can manually adjust the hoists106 ₁ 106 ₂ and trolleys 105 ₁ 105 ₂.

In the first mode of operation, the crane control system 100 includeslogic (e.g., processor and program code stored in memory) fordetermining the commands for the cranes (step 1403A) or more generallyfor the control of the cranes 101 in a synchronous manner. For instance,the processor unit 203 of master controller unit 200 determines themovement of all cranes 101 and their corresponding parts (e.g., bridges,trolleys and/or hoists) based on the commands inputted by the operator102, such that when the communication interface 202 sends the commandsto slave crane control units 400 of the cranes 101, all cranes move in asynchronous manner (step 1404A). The movement of the all cranes 101 andtheir corresponding parts (e.g., bridges, trolleys and/or hoists) may beproved by feedback to the master controller unit 200, such that mastercontroller unit 200 can monitor the movement of the cranes 101 (andtheir parts) and make any adjustments to the movements (e.g., adjustspeed or position) based on the feedback. In other words, feedback maybe provided so that if required corrective steps may be taken tomaintain synchronization. In the example illustrated, the cranes 101have one or more position sensors 1301 ₁, 1302 ₁, 1303 ₁, 1301 ₂, 1302₂, and 1303 ₂ which can provide feedback information. More specifically,the bridge 103 ₁ has the sensor 1301 ₁, the trolley 105 ₁ has the sensor1302 ₁ and the hoist 106 ₁ has the sensor 1303 ₁. Similarly, the bridge103 ₂ has the sensor 1301 ₂, the trolley 105 ₂ has the sensor 1302 ₂ andthe hoist 106 ₂ has the sensor 1303 ₂. The monitoring with the sensors1301 ₁, 1302 ₁, 1303 ₁, 1301 ₂, 1302 ₂, and 1303 ₂ will be discussed inmore detail later on.

In other embodiments, the centralized controller 800 may send thecommands to the slave crane control units 400 of the cranes 101 tocontrol the cranes in a synchronous manner based on commands received bythe master controller unit 200. In general, in these other embodiments,the master controller unit 200 sends commands for synchronous operationto the centralized controller 800. Then, the centralized controller 800processes the commands and sends commands to the slave crane controlunits 400 of the cranes 101 to control the cranes in a synchronousmanner. More specifically, in these other embodiments, commands areentered into the user interface 201 of the master controller unit 200 bythe operator 102 then the commands are sent to centralized controller800, which then determines exactly which commands to send to each of thecranes 101 ₁ and 101 ₂. In other words, steps 1403A and 1403B for theflowchart 1400 may take place at the centralized controller and are notlimited to being done at the master controller unit 200. Furthermore, inthese other embodiments, the centralized controller 800 may then monitorthe movement of the cranes 101 and their parts and make any adjustmentsto the movements (e.g., adjust speed or position) based on the feedbackinformation.

Now turning to the case where the operator 102 selects the independentmode or the second mode of operation (step 1402B), the cranes 101 ₁ and101 ₂ can then be operated individually from each other. For example,the crane operator 102 can configure the input controls of the userinterface 201 to control only the movement of one crane. That is, thereis a selector for determining which crane the operator 102 chooses tocontrol. For example, with reference to FIG. 3, the operator 102 canpush button A to select crane 101 ₁ and when the operator wants toswitch to crane 101 ₁ the operator can push button B. However, in othercases, the operator 102 can configure the input controls of the userinterface 201 to have multiple cranes available on the input controls.For example, a first subset of the input controls may corresponds to afirst crane 101 ₁ while a second subset of input controls may correspondto a second crane 101 ₂ and the operator 102 can choose between which ofthe cranes to operate based on the subsets of input controls. Referringback to FIG. 14, once the operator 102 has determined which crane theoperator 102 would like to control, the operator 102 can then enteringin the commands through the user interface 201 of the master controllerunit 200 such that the commands to send to the crane is determined (step1403B) and then sent to the crane (step 1404B).

The second mode of operation may be preferred by the operator 102 overthe first mode of operation is some cases. For example, when multiplecranes 101 need to be brought together in close proximity over theobject to be lifted, the operator may choose to operate the cranesindependently from each other. Then once the cranes 101 are brought intoposition the operator 102 then switches to the synchronous mode ofoperation.

In either mode of operation various commands may be input into themaster controller unit 200 for controlling the cranes 101. For instance,the commands entered in may be a manual real-time movement of one ormore of the cranes 101. For example, the operator 102 may move the oneor more joysticks 313 to move the cranes in real-time. That is, as theoperator 102 moves one of the joysticks 313 in one directions, the oneor more of the cranes 101 moves in the direction of movement of thejoystick 313. In the independent mode when the operator 102 moves one ofthe joysticks 313, the crane 101 ₁ moves in the direction of movement ofthe joystick 313. By way of another example, in synchronous mode, whenthe operator 102 moves one of the joysticks 313, both of the cranes 101₁ and 101 ₂ move in the direction of movement of the joystick 313.

However, the movement or control of the cranes 101 is not limited tosuch a manual real-time movement. For instance, the operator 102 mayenter higher-level commands that result in the cranes 101 maneuveringaccording to those commands. For example, the operator 102 may enter inthe distance for the cranes 101 or parts of the cranes (e.g., bridge,trolley, and/or hoist) to move, the speed at which the cranes 101 orparts of the cranes (e.g., bridge, trolley, and/or hoist) are to move,and/or the location of which the cranes 101 or parts of the cranes(e.g., bridge, trolley, and/or hoist) are to move to. Furthermore, thecommands entered need not be limited to fixed command, but may includecommands that change with time, position or location. For example, thecranes 101 may move at a specific speed until they reach a certainposition and then the cranes 101 may reduce speed and continue moving.

Automatic Positioning

In some embodiments, another mode of operation may include automaticpositioning. In these embodiments, logic (e.g., processor and programcode stored in memory) may be provided in the master controller unit200, the plurality of slave crane control units 400 and/or thecentralized controller 800 that would allow the plurality of cranes 101to automatically position themselves at a certain predeterminedlocation. For example, the operator 102 may identify a certain locationin the plant where the operator 102 would like the plurality of cranes101 to be located (for example, where an object to be lifted islocated), and the plurality of cranes 101 would then move automaticallyto that specific location. For example, the operator 102 may specify theX, Y and Z coordinates for each hoist 106 ₁ 106 ₂ and then the cranes101 would move the hoists 106 ₁ 106 ₂ to the specified position. Themovement of the cranes 101 may be made in sequence, such that one cranemoves and locates itself properly, followed by a second crane and soforth. Alternatively, the plurality of cranes 101 may move into positionall at the same time, instead of in sequence.

With reference to method 1500 of FIG. 15, the logic provided in themaster controller unit 200, the plurality of slave crane control units400 and/or the centralized controller 800 may first obtain the currentpositions of the cranes 101 (step 1501). The positions could be the X,Y, and Z coordinates of cranes 101 in the factory. For example, thepositions of the cranes 101 could be the X and Y positions of thebridges 103 ₁ 103 ₂ and the trolleys 105 ₁ 105 ₂ and the Z position ofthe hoists 106 ₁ 106 ₂. Alternatively, the positions of the cranes couldbe the X, Y and Z plane positions of the hoists 106 ₁ 106 ₂. The X, Yand Z plane positions may be obtained by sensors located on the cranesor any other suitable means. Then, the desired positions of the cranesis entered at the master controller unit 200 (step 1502). The enteringin of the desired positions may be the desired X, Y and Z coordinates ofthe cranes 101. For example, the desired positions of the cranes 101could be the X and Y positions of the bridges 103 ₁ 103 ₂ and thetrolleys 105 ₁ 105 ₂ and the Z positions of the hoists 106 ₁ 106 ₂. Thenat step 1503, the commands are sent to the cranes 101, such that thecranes 101 move automatically to the desired positions.

Alternatively, in some embodiments of the invention, the operator 102may select a profile on the user interface 201 of the master controllerunit 200 that corresponds to an object that the operator 102 wants tomove. The profile may include information such as the current positionor location of the object in the plant and also the elevation of thelifting points to which the hoists of the cranes connect. In this modeof operation and on the basis of the settings in the profile, theoperator 102 selects a profile and the plurality of cranes automaticallyadjust the heights of the hoists 106 ₁ 106 ₂, the position of thetrolleys 105 ₁ 105 ₂ on the bridges 103 ₁ 103 ₂ and/or move in asynchronous manner such that the cranes 101 are brought into the properlocations for lifting the object.

In automatic position mode, a plurality of collision detection sensors(not illustrated) may also be positioned along the direction of theparallel runways 104 and between the runways and the floor to sense ifany objects are currently located in the plant where the cranes operateand that would be within the path of travel of the crane. Thesecollision detection sensors may be used by the logic that controls themovement of the cranes 101, such that the cranes 101 and theircorresponding parts (e.g., bridge, trolley and/or hoist) move in mannerthat avoid the hoists 106 ₁ 106 ₂ of the cranes 101 from accidentallyhitting any objects currently positioned in the plant underneath therange of movement of the cranes 101.

Monitoring of Cranes

In some embodiments, a safety mechanism monitors the overhead cranes 101while they are moving to ensure that the cranes 101 are moving insynchronism. For example, a possible problem that can arise is whenmultiple cranes move an object and one of the cranes either stopsworking or cannot follow properly the other cranes. In theseembodiments, a monitoring system is provided, using software based logicin the crane control system 100″′ that continuously monitors the motionof each crane to determine if there is a loss of synchronization. Forinstance, the monitoring function receives a signal indicative of asynchronization loss and issues an emergency stop command to bring theplurality of cranes into a safe condition. For example, the monitoringfunction may be implemented at the processing unit(s) 403 located at theslave crane control units 400. In other embodiments, the monitoringfunction can be implemented at the processing unit located in thecentralized controller 800. In other examples, the monitoring functioncan be implemented at the processing unit 203 located in the mastercontroller unit 200.

One way of implementing the monitoring system is to provide each craneof the plurality of cranes 101 with suitable sensors such that thecranes report their movement to the slave crane control units 400,master controller unit 200 and/or to the centralized controller 800.

FIG. 16 illustrates a flowchart 1600 for determining if there is asynchronization loss, where the monitoring system uses a plurality ofsensors, such as motion encoders. At step 1601, the readings from thesensors are first obtained. Then the readings are processed to determineif there is a synchronization loss or not (step 1602). If there is nosynchronization loss, monitoring of the sensors continues and anotherreading from the sensors is obtained. On the other hand, if there is aloss of synchronization, the cranes are then brought in to a safecondition (step 1603), which may include bringing the cranes to anemergency stop, moving the cranes into a safe position or taking anotheraction.

Safe Condition

More specifically, a safe condition may include halting the movement ofall parts of the cranes 101. A safe condition may also include movingthe cranes 101 to a certain location or moving specific parts of thecranes 101 (e.g., bridge, trolley and/or hoist) to a specific positionor location. A safe condition could also include continuing moving thecranes 101 but at a reduced speed. Furthermore, a safe condition mayinclude a corrective action, which may include changing the speed,position of the specific parts of the cranes 101 (e.g., bridge, trolleyand/or hoist), so that the cranes 101 continue to operate in asynchronous manner or to prevent damage to the crane control system100″′. For example, to prevent damage, if one of the cranes breaks downand the other cranes have moved a certain amount before the loss ofsynchronization was detected, a corrective action can take place suchthat the other functioning cranes move back to a previous position.

Loss of Synchronization

The determination of a loss of synchronization can take two forms. Inthe first form, there may be an actual loss of synchronization. Forexample, when an actual loss of synchronization occurs some of thecranes 101 or the components of the cranes (e.g., bridge, trolley,and/or hoist) are no longer moving synchronously with each other.

In the second form of synchronization loss, there may be an impedingloss that will materialize if a corrective action does not take place.For example, a synchronization loss has not occurred yet but it ispredictable and will likely occur in the future. For instance, if one ofthe cranes starts to move at a slightly slower speed that is currentlynot affecting the overall motion of the object being lifted by themultiple cranes, but the trailing crane will eventually fall back toomuch, a synchronization loss is declared. A corrective action that canbe implemented is to adjust the speed of the other cranes to bring allcranes at the same speed point.

Example of Three Sensors Per Crane

In some embodiments, the monitoring system includes three sensors foreach crane, such that two of the sensors track translational movement ofthe bridge and/or trolley in the X-Y plane and one for trackingtranslation movement of the hoist in the Z plane. It will be appreciatedthat when an object is lifted and it is displaced horizontally by themultiple cranes, the monitoring system compares outputs of the varioussensors to make sure that they all remain in synchronism. In the casewhere there is a deviation in the outputs of the various sensors whilethe cranes are moving, the system is brought into a safe condition.Similarly, in the case where an object is being raised or lowered (i.e.,movement in the Z plane) and there is a deviation in the outputs of thevarious sensors the system is brought into a safe condition.

For instance, one way to implement the three sensors per crane safetymechanism is illustrated in FIG. 13. The sensor 1301 ₁ is positioned onthe bridge 103 ₁, the sensor 1302 ₁ is positioned on the trolley 105 ₁and the sensor 1303 ₁ is positioned on the hoist 106 ₁. Similarly, thesensor 1301 ₂ is positioned on the bridge 103 ₂, the sensor 1302 ₂ ispositioned on the trolley 105 ₂ and the sensor 1303 ₂ is positioned onthe hoist 106 ₂. In this example, the sensors 1301 ₁, 1302 ₁, 1303 ₁,1301 ₂, 1302 ₂, and 1303 ₂ provide the X, Y and Z positions for thehoists 106 ₁ 106 ₂, the trolleys 105 ₁ 105 ₂ and the bridges 103 ₁ 103 ₂which can then be used to determine if a synchronization loss hasoccurred or not.

The sensors may be position encoders that output position information.The _(sensors) output current position information, which is compared;if the synchronism is maintained between the cranes the positioninformation should be changing at the same rate, otherwise a loss ofsynchronization has occurred.

Laser Range-Finding Device

Another way of implementing the monitoring system to determine a loss ofsynchronization is by assigning to one of the cranes the responsibilityto monitor the distance with the other cranes. For example, this may bedone via a laser range-finding device (not illustrated). As long as thedistance stays constant, the system is assumed to operate correctly.However, if the distance changes, a fault is occurring and the system isbrought to a safe condition.

Furthermore, any other suitable means for monitoring the locations orpositions of the cranes 101 may be used.

In one specific example of implementation, the monitoring function thatdetermines for a specific crane if that crane is losing synchronizationis performed at the processing unit 403. The processing unit 403monitors the various crane components and motion to determine if theyall operate as intended. All the processing units 403 communicate withthe master controller unit 200. The processing units 403 send to themaster controller unit 200 messages to indicate if the respective craneis operating properly or not. The processing unit 203 of the mastercontroller unit 200 receives those messages and performs differentactions depending on the messages' content.

Assuming all the messages indicate that the cranes are operatingcorrectly, the processing unit 203 manages the cranes as per theoperator commands. This means that signals are sent to the cranes tocontrol their motion in unison. However, if anyone of the messages sentby the processing unit 203 indicates a malfunction, the processing unit203 recognizes the malfunction state after processing the message andwill issue to all the cranes being controlled a command to put thecranes in a safe condition. In a specific example, the safe condition isan emergency stop, so the command send to each crane is an emergencystop command.

Non-Portable Master Controller Unit

Although in the embodiments discussed above, the master controller unit200 and its variants was a portable master controller unit, thatcommunicates wirelessly with the remaining components of the cranecontrol system, the invention is not limited to such configuration. Forexample, FIG. 17 illustrates the case where the master controller unit200″′ is non portable, in the sense it remains in a fixed location andcannot be carried around. More specifically, master controller unit200″′ is a pendant that may be operated by the operator 102 and isconnected either wired or wirelessly to the plurality of cranes 101.

Certain additional elements that may be needed for operation of someembodiments have not been described or illustrated as they are assumedto be within the purview of those of ordinary skill in the art.Moreover, certain embodiments may be free of, may lack and/or mayfunction without any element that is not specifically disclosed herein.

Although various embodiments and examples have been presented, this wasfor the purpose of describing, but not limiting, the invention. Variousmodifications and enhancements will become apparent to those of ordinaryskill in the art and are within the scope of the invention, which isdefined by the appended claims.

The invention claimed is:
 1. A crane control system for controlling aplurality of cranes including at least a first crane and a second crane,each said first and second crane having at least a first motion axis anda second motion axis, the crane control system comprising: a mastercontroller unit; and a processing unit responsive to inputs by anoperator of the master controller unit to send commands to the pluralityof cranes to operate the cranes in synchronism, the processing unitbeing responsive to a signal indicative of a loss of synchronizationbetween the cranes to output a command to bring one or more of theplurality of cranes into a safe condition; wherein the master controllerunit is configured to be operable for controlling the first motion axisof the first crane to operate in unison with the first motion axis ofthe second crane and at the same time also controlling the second motionaxis of the first crane to operate independently from and/ornon-synchronous with the second motion axis of the second crane.
 2. Acrane control system as defined in claim 1, wherein: the safe conditionincludes an emergency stop; and/or the master controller includes theprocessing unit; and/or the commands to the plurality of cranes tooperate the cranes in synchronism convey an address associated with themaster controller unit; and/or each crane of the plurality of cranes hasat least two independently movable motion axes, the commands to theplurality of cranes to operate the cranes in synchronism directing atleast one motion axis of one crane to operate in unison with at leastone motion axis of another crane while also directing at least one othermotion axis of said one crane to operate independently from and/ornon-synchronous with at least one other motion axis of said anothercrane.
 3. A crane system comprising: the first crane; the second crane;the crane control system of claim 1 for controlling the first and secondcranes in synchronism; and a monitoring system for monitoring the firstand second cranes for a loss of synchronization therebetween.
 4. A cranesystem as defined in claim 3, wherein the monitoring system includessensors mounted on the first crane and on the second crane for sensingmotion of the first crane and motion of the second crane.
 5. A cranesystem as defined in claim 4, wherein the monitoring system includes aprocessing unit to process signals output by the sensors to detect aloss of synchronization.
 6. A crane system as defined in claim 5,wherein the monitoring system has an output to output a control signalwhen the monitoring system detects a loss of synchronization.
 7. A cranesystem as defined in claim 6, wherein the control signal conveys acommand to bring the first crane and the second crane into a safecondition and/or an emergency stop.
 8. A crane control system as definedin claim 1, wherein the first and second motion axes of the first andsecond cranes include a bridge motion axis for moving the correspondingfirst or second crane along a bridge, a trolley motion axis to move atrolley, and a hoist motion axis to move a hoist; and wherein the mastercontroller unit is configured to: operate at least one of the bridgemotion axis, trolley motion axis, and hoist motion axis of the firstcrane in unison with the corresponding one of the bridge motion axis,trolley motion axis, and the hoist motion axis of the second crane; andat the same time operate at least one other of the bridge motion axis,trolley motion axis, and hoist motion axis of the first craneindependently from and/or non-synchronous with the corresponding one ofthe bridge motion axis, trolley motion axis, and the hoist motion axisof the second crane.
 9. A crane control system as defined in claim 1,wherein each crane includes a slave crane control unit, and wherein theprocessing unit is responsive to inputs by an operator of the mastercontroller unit to send commands to one or more of the slave controlunits of one or more individual cranes from the plurality of cranes. 10.A crane control system as defined in claim 9, wherein the master controlunit has transmission and reception capabilities for sending andreceiving communications to/from the slave control units.
 11. A cranecontrol system as defined in claim 9, wherein the master controller unitand the slave control units comprise transceivers, and wherein eachslave control unit is operable for sending communications back to themaster controller unit including acknowledgement of commands with anidentifier of the master controller unit and an address or identifier ofthe slave control unit.
 12. A crane control system for controllingcranes, the crane control system comprising: a master controller unitincluding a user interface for receiving user commands to controlcranes, the user interface including a mode selector allowing the userto select a mode of operation among a plurality of modes of operation,the plurality of modes of operation including a first mode of operationand a second mode of operation; when the mode selector is in the firstmode of operation, the master controller unit being configured torespond to user commands input at the user interface to output firstcommand signals directed to a single crane; and when the mode selectoris in the second mode of operation, the master controller unit beingconfigured to respond to user commands input at the user interface tooutput second command signals directed to two or more cranes, each craneof the two or more cranes having at least two motion axes, the secondcommand signals directing at least one motion axis of one crane tooperate in unison with at least one motion axis of another crane and atthe same time also directing at least one other motion axis of said onecrane to operate independently from and/or non-synchronous with at leastone other motion axis of said another crane.
 13. A crane control systemas defined in claim 12, wherein each crane has a bridge motion axis formoving the crane along a bridge, a trolley motion axis to move atrolley, and a hoist motion axis to move a hoist.
 14. A crane controlsystem as defined in claim 13, wherein in the second mode of operation,the second command signals being configured to move the bridge motionaxes of the two or more cranes in unison and/or move the trolley motionaxes of the two or more cranes in unison and/or move the hoist motionaxes of the two or more cranes in unison.
 15. A crane control system forcontrolling cranes, the crane control system comprising: a mastercontroller unit including a user interface for receiving user commandsto control cranes, the master controller unit being configured torespond to user commands input at the user interface to output commandsignals directed to two or more cranes, each crane of the two or morecranes having at least two motion axes, the command signals directing atleast one motion axis of one crane to operate in unison with at leastone motion axis of another crane; the user interface including aposition selection mechanism configured to allow the user to select aposition among a plurality of positions; and in response to selection ofa position among the plurality of positions, the master controller unitoutputting command signals directed to the two or more cranes to directthe cranes to move to the selected position, wherein the mastercontroller unit is configured to be operable for controlling a firstmotion axis of a first crane to operate in unison with a first motionaxis of a second crane and at the same time also controlling a secondmotion axis of the first crane to operate independently from and/ornon-synchronous with a second motion axis of the second crane.
 16. Acrane control system as defined in claim 15, wherein the first andsecond motion axes of the first and second cranes include a bridgemotion axis for moving the corresponding first or second crane along abridge, a trolley motion axis to move a trolley, and a hoist motion axisto move a hoist; and wherein the master controller unit is configuredto: operate at least one of the bridge motion axis, trolley motion axis,and hoist motion axis of the first crane in unison with thecorresponding one of the bridge motion axis, trolley motion axis, andthe hoist motion axis of the second crane; and at the same time operateat least one other of the bridge motion axis, trolley motion axis, andhoist motion axis of the first crane independently from and/ornon-synchronous with the corresponding one of the bridge motion axis,trolley motion axis, and the hoist motion axis of the second crane.